Add Remote MCP Server wizard option for OAuth-protected servers#19
Merged
Conversation
Add a 4th + New Provider wizard option that takes a bare remote MCP server URL (e.g. https://mcp.asana.com/v2/mcp) and bridges it via npx -y mcp-remote <url>, reusing the existing introspection and OAuth "Authorize" flow. The result is stored as a standard package provider, so no backend changes are needed. - Add the 🌐 Remote MCP Server card and a URL-only wizard step - Refactor wzIntrospect into a shared _wzIntrospectCommand helper so the Package and Remote steps reuse the same auth-poll/introspect logic - Make the Package card/step explicit that remote OAuth servers can be added with npx -y mcp-remote <url> - Fold the Asana example into the README and remove examples/ - Add a test asserting the remote-style provider saves as package YAML https://claude.ai/code/session_01FVNRTtYMvLbRLRCS3LAvik
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a dedicated Remote MCP Server wizard option to the provider creation flow, making it easier for users to bridge OAuth-protected remote MCP servers (like the official Asana server) without manually constructing the
mcp-remotecommand.Key Changes
New wizard step for remote servers: Added a
wz-remotestep that accepts a server URL and provider name, then automatically constructs thenpx -y mcp-remote <url>command and introspects it.Reordered wizard options: Reorganized the provider type selection to prioritize Remote MCP Server (🌐) first, followed by Package, Repository, and Python Code. All options now use equal column widths (
col-md-3).Shared introspection logic: Extracted common introspection code into
_wzIntrospectCommand()helper function used by both Package and Remote steps, supporting OAuth flow detection and token caching.Updated documentation:
mcp-remotecommand automaticallymcp-remotebridge alternativeexamples/asana.yamlfile (now generated by the wizard)Wizard state management: Extended
WZ_STEPSarray to include'remote'and added cleanup logic for remote-specific form fields.Test coverage: Added
test_remote_provider_saved_as_package()to verify that remote providers are correctly saved as package-type YAML with the appropriatemcp-remotecommand.Implementation Details
type: 'package'with a command ofnpx -y mcp-remote <url>, maintaining consistency with the existing package provider model.mcp-remote) is handled transparently during introspection—users see a clickable 🔐 Authorize link if the server requires authentication.mcp-remoteand itsMCP_REMOTE_CONFIG_DIRpersistent volume.https://claude.ai/code/session_01FVNRTtYMvLbRLRCS3LAvik